#pragma once

	const long double pi=3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211;
	const long double Phi0=2.06783366752e-15;
	const long double el=1.60217656535e-19;		//Elementary charge
	const long double hbar=1.05457172647e-34;


class rscjprops
{
public:
	rscjprops();
	rscjprops(double Rn,double Ic,double C, double w);
	rscjprops(long double betac,long double omega);
	~rscjprops(void);

	bool isnormalized();
	void setnormalized(bool norm);
	void setRn(long double Rn);
	void setIc(long double Ic);
	void setIc2(long double Ic2);
	void setic2(long double ic2);
	void setdphi(long double dphi);
	void setC(long double C);
	void setw(long double w);
	void setiac(long double iac);
	void setIac(long double Iac);
	void seth(long double h);
	void setprops(long double Rn,long double Ic,long double C, long double w);
	void setprops(long double betac,long double omega);
	void setbetac(long double betac);
	void setomega(long double omega);
	void setTemp(long double T);
	double getRn();
	double getIc();
	double getIc2();
	double getic2();
	double getdphi();
	double getC();
	double getw();
	double getiac();
	double getIac();
	long double geth();
	long double getbetac();
	long double getomega();
	long double get_wc();
	long double getTemp();


protected:
	long double Rn;
	long double Ic;
	long double C;
	long double betac;
	long double omega;
	long double wc;
	long double w;
	bool normalized;
	long double iac;
	long double Iac;
	long double h;
	long double T;
	long double Ic2;
	long double ic2;
	long double dphi;

	void calcbeta();
	void calcomega();
	void calcomegac();



};

